1. Field of the Invention
The present invention relates to an image processing apparatus, an image forming system, and an image forming method for controlling an image processing workflow.
2. Description of the Related Art
Recently, the number of applications for image modification and correction, which are classified as photo retouching applications, is increasing. Usage of image data by using such photo retouching applications to correct and adjust captured image data, and (then) print the resultant data or upload the resultant data on the Web so as to be shared or released to the public is growing.
Functions provided by the photo retouching applications include basic correction and adjustment for problems with captured image data, such as, for example, adjustment of the angle of view and adjustment of brightness and color. In addition to such functions, some photo retouching applications analyze image data and automatically correct the data.
Further, recently, services enabling printing of photographs or an album to be ordered at a store or on the Web (which will be referred to as print-on-demand services) have also been increasingly offered. For example, a memory card storing photographs is taken to a store, and inserted in an order terminal at the store. A print format is selected, and images to be printed are selected, thereby making an order. Such orders are collected by a server, and an operator checks the order content and images. Then, printing in accordance with the order content is executed by a printer, thereby completing printing of photographs.
Photo retouching applications are being utilized in the workflow of such print-on-demand services. Ordinarily, the photo retouching applications are utilized for correction of photographs by a user when an order is made and for modification by an operator before printing so as to improve the result of photographs. Further, in album printing, an application having functions such as trimming and rotation of images is also utilized.
Now, the conventional workflow of a print-on-demand service will be described with reference to FIG. 8. The conventional workflow is roughly divided into three stages, namely, upstream processing 805, downstream processing 806, and a printing apparatus 807. The upstream processing 805 is performed at an order terminal such as a store terminal or a local PC. In the upstream processing 805, an image to be printed is selected from among images 801 stored in a memory card or a hard disk, and instructions 802 such as print size, print type and correction processing are input, thereby making an order for printing. In the downstream processing 806, the order from the upstream processing 805 is received, and an operator adjusts the image and gives a print instruction to the printing apparatus 807 based on the order content. At that time, additional correction instructions 803 may be input. The printing apparatus 807 executes print processing 804 in accordance with the print instruction from the downstream processing 806.
In this workflow, original image data and attribute information are transmitted, in the processing in each stage, to processing in the next stage as shown by transmission data 808 from the upstream processing 805 and transmission data 809 from the downstream processing 806. The user instructions 802 and the instructions 803 that have been input in the processing of the transmission source, such as print type and correction instructions are stored in attribute information and transmitted. Then, the printing apparatus 807 performs correction processing on the original image in accordance with the user instructions stored in the attribute information, immediately before the printing. In this way, the consistency of correction processing and the correction image quality can be maintained.
As one technology for carrying out workflow processing, Japanese Patent Laid-Open No. 2004-164570 describes a method using a job ticket. In Japanese Patent Laid-Open No. 2004-164570, a job ticket corresponding to a generated workflow is generated, and necessary processing is performed in accordance with the job ticket issued by a workflow generating apparatus.
The image processing workflow in the above print-on-demand service may be applied not only to photograph printing in sheet form, but also to album printing, and it is expected that album printing will increase with expanding functionality from now on. The following problems may occur in such a situation.
Album printing has a function for photograph layout. For photograph layout, it is necessary to perform geometric conversion such as trimming, enlargement/reduction (scaling), or rotation on an image. In such a case, a problem with the workflow in FIG. 8 is that there is certain correction processing according to which a correction result obtained by performing the correction processing on an image as-is and a correction result obtained by performing geometric conversion on the image and thereafter performing the same correction processing thereon do not match. As an example, the result obtained by performing automatic photograph correction on an original image as-is and the result obtained by performing automatic photograph correction on an image on which trimming has been performed do not match. However, on the other hand, there is also correction processing that does not cause a change in the correction result even if geometric conversion is performed.
In the same manner as in the workflow in FIG. 8, if an instruction for geometric conversion is also transmitted as attribute information, and it is ensured that geometric transformation processing is performed after other correction processing, image quality after correction can be maintained constant. However, if the geometric conversion is conversion for reducing the amount of image data, such as, for example, trimming or reduction, wasteful data will be transmitted, and also other correction processing may be performed needlessly, which wastes time and resources. In particular, in album printing, there is a high possibility that a large amount of image data will be transmitted and that portions of images will be utilized, and thus when considering optimization of the entire workflow, geometric conversion for reducing the amount of data to be transferred should be performed before data transmission and correction processing.
There is also a method of causing correction results to match independent of whether geometric conversion is performed, by transmitting an image detection result and a correction parameter to downstream processing and reusing them. An example of such a case is where face detection is performed, and correction such as, for example, red-eye correction is performed using the detection result thereof. In this case, face detection is performed during upstream processing, and the detection result thereof and an instruction parameter of correction processing according thereto are transmitted to downstream processing, thereby enabling the result of correction processing to be stabilized while reducing the load of downstream processing.
However, even if, for example, face detection is performed in upstream processing, and the result thereof is transmitted to downstream processing, when the face region of the image is cut away by trimming, there will be no image region to which the face detection result corresponds, and thus the face detection result cannot be utilized in downstream processing. Even if a user performs trimming so as to keep a face, the resultant region may be different from the face region that needs face detection, and even in this case, the face region of the image may be cut away by trimming, and thus the face detection result cannot be utilized. In addition thereto, if more correction instructions are given, the amount of data to be transferred may increase since it is necessary to hold all of the correction parameters for the individual correction instructions.